//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "SenhaOpc.h"
#include "Princ.h"
#include "Senhas.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "DialPad"
#pragma link "PHDS"
#pragma resource "*.dfm"
TCPSenhasOpcoes *CPSenhasOpcoes;
//---------------------------------------------------------------------------
__fastcall TCPSenhasOpcoes::TCPSenhasOpcoes(TComponent* Owner)
        : TDiPad(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TCPSenhasOpcoes::CarregaCheckListBox(void)
{
    CheckListBox1->Items->Clear();
    for(int a=0;a<SenUtil.MenusPermitidos->Count;a++)
     {
      CheckListBox1->Items->Add(dynamic_cast<MENPER *>(SenUtil.MenusPermitidos->Objects[a])->Titulo);
      CheckListBox1->Checked[a]=dynamic_cast<MENPER *>(SenUtil.MenusPermitidos->Objects[a])->Ativo;
     }
    ::SetFocus(CheckListBox1->Handle);
}
//---------------------------------------------------------------------------
void __fastcall TCPSenhasOpcoes::FormShow(TObject *Sender)
{
    Alterou=false;
    CarregaCheckListBox();
    ::SetFocus(CheckListBox1->Handle);
    // Chama evento da Antecestora
    TDiPad::FormShow(Sender);
}
//---------------------------------------------------------------------------

void __fastcall TCPSenhasOpcoes::BitBtn1Click(TObject *Sender)
{
    if(CPSenhas->PHDS1->State!=phInsert)
     CPSenhas->PHDS1->Edit();
    Alterou=true;
    TCursor SCursor=Screen->Cursor;
    Screen->Cursor=crHourGlass;
    try
     {
      for(int a=0;a<CheckListBox1->Items->Count;a++)
       CheckListBox1->Checked[a]=true;
      CPSenhas->SEN->Menus[0][6]=1;
     }
    __finally
     {
      Screen->Cursor=SCursor;
     }
}
//---------------------------------------------------------------------------

void __fastcall TCPSenhasOpcoes::BitBtn2Click(TObject *Sender)
{
    if(CPSenhas->PHDS1->State!=phInsert)
     CPSenhas->PHDS1->Edit();
    Alterou=true;
    TCursor SCursor=Screen->Cursor;
    Screen->Cursor=crHourGlass;
    try
     {
      for(int a=0;a<CheckListBox1->Items->Count;a++)
       CheckListBox1->Checked[a]=false;
      CPSenhas->SEN->Menus[0][6]=0;
     }
    __finally
     {
      Screen->Cursor=SCursor;
     }
}
//---------------------------------------------------------------------------

void __fastcall TCPSenhasOpcoes::CheckListBox1ClickCheck(TObject *Sender)
{
    Alterou=true;
    if(CPSenhas->PHDS1->State!=phInsert)
     CPSenhas->PHDS1->Edit();
}
//---------------------------------------------------------------------------

void __fastcall TCPSenhasOpcoes::FormClose(TObject *Sender,
      TCloseAction &Action)
{
    TCursor SCursor=Screen->Cursor;
    Screen->Cursor=crHourGlass;
    try
     {
      if(Alterou==true)
       {
        if(CPSenhas->PHDS1->State!=phInsert)
         CPSenhas->PHDS1->Edit();
        for(int a=0;a<CheckListBox1->Items->Count;a++)
         {
          if(CheckListBox1->Checked[a]==true)
           dynamic_cast<class MENPER *>(SenUtil.MenusPermitidos->Objects[a])->Ativo=true;
          else
           dynamic_cast<class MENPER *>(SenUtil.MenusPermitidos->Objects[a])->Ativo=false;
         }
       }
     }
    __finally
     {
      Screen->Cursor=SCursor;
      // Chama evento na AnteCestora
      TDiPad::FormClose(Sender,Action);
     }
}
//---------------------------------------------------------------------------


void __fastcall TCPSenhasOpcoes::PHDS1AfterRead(TObject *Sender)
{
    SenUtil.ConverteAfterRead((struct SENHAS *)PHDS1->Buffer);
}
//---------------------------------------------------------------------------

